package com.jackstraw.jack_base.datasource.mybatis.base.entity.po;

import com.jackstraw.jack_base.datasource.database.parten.base.entity.po.BasePo;

import java.util.List;
import java.util.Map;

/**
 * MyBatisPo
 *
 * @param <PO> 实体类
 */
public abstract class MyBatisPo<PO extends MyBatisPo<PO>> extends BasePo<PO> {

    /**
     * 获取tableName
     *
     * @return
     */
    public String tableName() {
        return "";
    }

    /**
     * 获取主键字段名称
     *
     * @return
     */
    public abstract List<String> idFieldNameS();

    /**
     * 获取主键列数据库字段名称
     *
     * @return
     */
    public abstract List<String> idColumnNameS();

    /**
     * 字段名称和数据库字段名称对应关系
     *
     * @return
     */
    public abstract Map<String, String> fieldColumnNameMap();


}
